Verificación de restricciones


Metamodelo CVD

Este metamodelo constituye una propuesta de metamodelo para los modelos mediante los cuales formular el resultado de validar otros modelos y aspira a ser capaz de cubrir todo el espectro de violaciones de restricciones que puedan darse en modelos MDSE, permitiendo modelar con mayor o menor detalle los datos necesarios para describir tales incumplimientos. Para ello, presenta una jerarquía de clases que posibilita dicho modelado, incremental en cuanto a detalle, de manera tanto más detallada cuanto más se profundiza en la jerarquía.

El metamodelo CVD presenta una estructura convencional, con una clase contenedor principal (CVD_Model) y una clase raíz (CVD) de la que heredan el resto de clases, conformando en conjunto la anteriormente mencionada jerarquía de clases destinadas al modelado de (los datos necesarios para describir) incumplimientos de restricciones.

La Fig. 1 muestra las clases contenedor principal y raíz, así como las principales subclases de ésta última.


Figura 1 - Núcleo del metamodelo CVD

Un modelo conforme a CVD posee una única instancia de CVD_Model, la cual contiene a través de la asociación-composición descriptions al resto de elementos de modelo, instancias de CVD o de cualquiera de sus subclases.

A continuación se describen brevemente la clase raíz CVD y sus subclases de primer nivel:

  • CVD. Esta clase permite modelar de forma genérica la descripción de incumplimientos de restricciones de cualquier tipo.
    Únicamente con esta clase raíz sería suficiente para formular como modelo el conjunto de incumplimientos de restricciones detectados en un modelo, pues la información que describe es apta para cualquier restricción, independientemente de su naturaleza, semántica o formulación OCL.


  • BasedOnPropertiesOfContextClass. Esta clase es adecuada exclusivamente para modelar la descripción de incumplimientos de restricciones especificadas sobre un conjunto de propiedades (atributos y referencias) de la clase contexto.


  • BasedOnIncompatibility. Esta clase es adecuada exclusivamente para modelar la descripción de incumplimientos de restricciones consistentes en establecer incompatibilidades entre subclases de dos clases (típicamente abstractas) del metamodelo de dominio que se hallan relacionadas con la clase contexto a través de sendas cadenas de asociaciones.
    Se puede dar el caso particular de que una de las clases coincida con la propia clase contexto, en cuyo caso la correspondiente cadena de asociaciones sería nula.


  • BasedOnContainmentRelation. Esta clase es adecuada exclusivamente para modelar la descripción de incumplimientos de restricciones consistentes en establecer una relación de contención entre dos conjuntos de instancias de una clase. Cada conjunto viene indicado por el extremo final de sendas cadenas de asociaciones que parten de la clase contexto y la enlazan con la clase que tipa a los elementos de los conjuntos.


  • ScopeBased. Esta clase es adecuada exclusivamente para modelar la descripción de incumplimientos de restricciones cuya satisfacción depende no sólo del estado de un elemento de modelo, sino también del ámbito o población de elementos de modelo dentro del cual el primero se halla.


  • BasedOnAssociationChain. clase adecuada para modelar (los datos necesarios para describir) incumplimientos de restricciones de las estructuras de los elementos del modelo en base a cadenas de asociaciones. Por ejemplo restricciones de estructuras cíclicas, abiertas, en árbol, multiplicidad de los elementos en las cadenas, etc.



  • Descargar descripción completa (formato PDF)
  • Descargar metamodelo (formato eCore - XMI)

  • Figura 2 - CVD.ecore

    Metamodelo CC

    Este metamodelo constituye una propuesta de metamodelo para los modelos mediante los cuales se formula la información de caracterización de las restricciones especificadas sobre un metamodelo de dominio.

    El metamodelo CC presenta una estructura convencional, con una clase contenedor principal (CC_Model) y una clase raíz (ConstraintCharacterization) de la que heredan el resto de clases, conformando en conjunto la jerarquía de clases destinadas al modelado de (los datos necesarios para caracterizar) restricciones.

    La Fig. 3 muestra las clases contenedor principal y raíz, así como las principales subclases de ésta última.

    Figura 3 - Núcleo del metamodelo CC

    Un modelo conforme a CC posee una única instancia de CC_Model, la cual contiene a través de la asociación-composición constraintCharacterizations al resto de elementos de modelo, instancias de CC o de cualquiera de sus subclases.

    A continuación se describen brevemente la clase raíz ConstraintCharacterization y sus subclases de primer nivel:

  • ConstraintCharacterization. Esta clase permite modelar de forma mínima la caracterización de restricciones de cualquier tipo.
    Únicamente con esta clase raíz sería suficiente para formular como modelo el conjunto de caracterizaciones correspondientes a las restricciones especificadas sobre un metamodelo, pues la información que describe es apta para cualquier restricción, independientemente de su naturaleza, semántica o formulación OCL.


  • BasedOnPropertiesOfContextClass. Esta clase es adecuada exclusivamente para modelar la caracterización de restricciones especificadas sobre un conjunto de propiedades (atributos y referencias) de la clase contexto.


  • BasedOnIncompatibility. Esta clase es adecuada exclusivamente para modelar la caracterización de restricciones consistentes en establecer incompatibilidades entre subclases de dos clases (típicamente abstractas) del metamodelo de dominio que se hallan relacionadas con la clase contexto a través de sendas cadenas de asociaciones.
    Se puede dar el caso particular de que una de las clases coincida con la propia clase contexto, en cuyo caso la correspondiente cadena de asociaciones sería nula.


  • BasedOnContainmentRelation. Esta clase es adecuada exclusivamente para modelar la caracterización de restricciones consistentes en establecer una relación de contención entre dos conjuntos de instancias de una clase.
    Cada conjunto viene indicado por el extremo final de sendas cadenas de asociaciones que parten de la clase contexto y la enlazan con la clase que tipa a los elementos de los conjuntos.


  • ScopeBasedEsta clase es adecuada exclusivamente para modelar la caracterización de restricciones cuya satisfacción depende no sólo del estado de un elemento de modelo, sino también del ámbito o población de elementos de modelo dentro del cual el primero se halla.



  • Descargar descripción completa (formato PDF)
  • Descargar metamodelo (formato eCore-XMI)

  • Figura 4 - CC.ecore


    HOT


    Figura 5 - HOT



  • Descargar HOT (formato ATL)
  • Descargar análisis detallado (formato PDF)


  • Escenario MAST-2

    Modelo CC correspondiente al metamodelo MAST-2

  • Descargar modelo (formato eCore-XMI)


  • Figura 6 - Mast2.cc.xmi


    Transformación de chequeo


  • Descargar transformación (formato ATL)


  • Ejemplo de modelo MAST-2 con incoherencias

  • Descargar modelo (formato eCore-XMI)


  • Modelo CVD resultante

  • Descargar modelo (formato eCore-XMI)